package com.iweb.day12;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @author WuYongheng
 * @date 2021/11/30
 * @description 自定义Socket服务器，升级
 */
public class Server1 {
    public static void main(String[] args) {
        // 与客户端通信的对象
        BufferedWriter writer = null;
        BufferedReader reader = null;

        // 创建服务器对象，并指定要监听的端口
        ServerSocket serverSocket = null; // 监听指定端口
        try {
            serverSocket = new ServerSocket(6666);
            System.out.println("服务器【" + serverSocket.getLocalSocketAddress() + "】启动成功...");

            // 不断的监听来自客户端的连接请求
            while (true) {
                // 某个客户端跟当前服务器连接成功后，会产生一个socket对象
                // 该socket对象用于跟客户端通信
                Socket sock = serverSocket.accept();
                System.out.println("与客户端【" + sock.getRemoteSocketAddress() + "】连接成功...");
                // 操作成功后，关闭资源，这里不能直接调用关闭连接对象的方法
                // 因为是被动执行的，只有当收到客户端的关闭请求后，才能执行该方法
//                sock.close();
            }

            // 服务器关闭连接，不要随便关闭，这里表示服务器停止服务
//            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
